﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using QuartzServices.Domain.DomainModels;

namespace QuartzServices.Infrastructure.Mappings
{
    internal class BlcSapLocationMap : IEntityTypeConfiguration<BlcSapLocationModel>
    {
        public void Configure(EntityTypeBuilder<BlcSapLocationModel> entity)
        {
            entity.HasKey(e => e.Id).HasName("PK__SAP_LOCA__3214EC27C969A515");

            entity.ToTable("BLC_SAP_LOCATION", tb => tb.HasComment("SAP库存正式表"));

            entity.Property(e => e.Id)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasDefaultValueSql("(newid())")
                .HasComment("主键")
                .HasColumnName("ID");
            entity.Property(e => e.Blocked)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Blocked");
            entity.Property(e => e.BlockedCnsgt)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Blocked cnsgt")
                .HasColumnName("Blocked_cnsgt");
            entity.Property(e => e.C)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("C");
            entity.Property(e => e.CheckCode)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("查核代码")
                .HasColumnName("CHECK_CODE");
            entity.Property(e => e.CnsgtQualIn)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Cnsgt qual.in")
                .HasColumnName("Cnsgt_qual_in");
            entity.Property(e => e.Createby)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("创建用户")
                .HasColumnName("CREATEBY");
            entity.Property(e => e.Createon)
                .HasComment("创建日期")
                .HasColumnType("datetime")
                .HasColumnName("CREATEON");
            entity.Property(e => e.Createuserid)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("创建用户主键")
                .HasColumnName("CREATEUSERID");
            entity.Property(e => e.Deletemark)
                .HasDefaultValueSql("((0))")
                .HasComment("删除标志")
                .HasColumnName("DELETEMARK");
            entity.Property(e => e.Enabled)
                .HasComment("有效标识")
                .HasColumnName("ENABLED");
            entity.Property(e => e.InQualInsp)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("In qual.insp.")
                .HasColumnName("In_qual_insp");
            entity.Property(e => e.M)
                .HasMaxLength(500)
                .IsUnicode(false)
                .HasComment("M");
            entity.Property(e => e.Material)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Material ");
            entity.Property(e => e.MaterialDescription)
                .HasMaxLength(256)
                .IsUnicode(false)
                .HasComment("Material_description")
                .HasColumnName("Material_description");
            entity.Property(e => e.Matlgrp)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("Matlgrp");
            entity.Property(e => e.Modifiedby)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("修改用户")
                .HasColumnName("MODIFIEDBY");
            entity.Property(e => e.Modifiedon)
                .HasComment("修改日期")
                .HasColumnType("datetime")
                .HasColumnName("MODIFIEDON");
            entity.Property(e => e.Modifieduserid)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("修改用户主键")
                .HasColumnName("MODIFIEDUSERID");
            entity.Property(e => e.Mrp)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("MRP")
                .HasColumnName("MRP");
            entity.Property(e => e.P)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("P");
            entity.Property(e => e.Plnt)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("Plnt");
            entity.Property(e => e.Sloc)
                .HasMaxLength(256)
                .IsUnicode(false)
                .HasComment("SLoc")
                .HasColumnName("SLoc");
            entity.Property(e => e.StandPrice)
                .HasComment("Stand Price")
                .HasColumnType("decimal(18, 5)")
                .HasColumnName("Stand_Price");
            entity.Property(e => e.StockInTfr)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Stock in tfr")
                .HasColumnName("Stock_in_tfr");
            entity.Property(e => e.TotalValue)
                .HasComment("Total Value")
                .HasColumnType("decimal(18, 5)")
                .HasColumnName("Total_Value");
            entity.Property(e => e.TradeCo)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("企业唯一代码")
                .HasColumnName("TRADE_CO");
            entity.Property(e => e.TradeName)
                .HasMaxLength(256)
                .IsUnicode(false)
                .HasComment("企业唯一名称")
                .HasColumnName("TRADE_NAME");
            entity.Property(e => e.Type)
                .HasMaxLength(32)
                .IsUnicode(false)
                .HasComment("Type");
            entity.Property(e => e.Unit)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit2)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit3)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit4)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit5)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit6)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.Unit7)
                .HasMaxLength(10)
                .IsFixedLength();
            entity.Property(e => e.UnrestrCnsgt)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Unrestr. cnsgt ")
                .HasColumnName("Unrestr_cnsgt");
            entity.Property(e => e.Unrestricted)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("Unrestricted");
            entity.Property(e => e.UploadTime)
                .HasColumnType("datetime")
                .HasColumnName("Upload_Time");
            entity.Property(e => e.Workcell)
                .HasMaxLength(64)
                .IsUnicode(false)
                .HasComment("项目组");
        }
    }
}
